"""
ConnLLM 核心模块
包含LLM适配层的核心功能
"""

from .provider import (
    LLMProvider, ProviderFactory, BaseProvider, RemoteProvider, LocalProvider
)
from .config import ConfigManager, DEFAULT_CONFIG, PREDEFINED_CONFIGS
from .keys import KeyManager
from .pricing import PricingManager, get_pricing_manager
from .exceptions import (
    LLMException, ConfigurationError, ProviderError, AuthenticationError,
    QuotaExceededError, RateLimitError, ConnectionError, TimeoutError,
    ServerError, InvalidRequestError, ContentFilterError, ModelNotFoundError,
    InputTooLongError, ProviderUnavailableError, UnsupportedOperationError,
    map_provider_error
)

__all__ = [
    # 提供商类
    "LLMProvider", "ProviderFactory", "BaseProvider", "RemoteProvider", "LocalProvider",
    
    # 管理器类
    "ConfigManager", "KeyManager", "PricingManager",
    
    # 主要函数
    "get_pricing_manager",
    
    # 异常类
    "LLMException", "ConfigurationError", "ProviderError", "AuthenticationError",
    "QuotaExceededError", "RateLimitError", "ConnectionError", "TimeoutError",
    "ServerError", "InvalidRequestError", "ContentFilterError", "ModelNotFoundError",
    "InputTooLongError", "ProviderUnavailableError", "UnsupportedOperationError",
    "map_provider_error"
]
